if (window.PrimeFaces) {
    /** Greek */
    PrimeFaces.locales['el'] = {
        "startsWith": "Αρχίζει με",
        "contains": "Περιέχει",
        "notContains": "Δεν Περιέχει",
        "endsWith": "Τελειώνει με",
        "equals": "Ισο με",
        "notEquals": "Διαφορετικό από",
        "noFilter": "Χωρίς φίλτρο",
        "lt": "Μικρότερο από",
        "lte": "Μικρότερο από ή ίσο με",
        "gt": "Μεγαλύτερο από",
        "gte": "Μεγαλύτερο από ή ίσο με",
        "dateIs": "Ημερομηνία είναι",
        "dateIsNot": "Ημερομηνία δεν είναι",
        "dateBefore": "Ημερομηνία πριν",
        "dateAfter": "Ημερομηνία μετά",
        "custom": "Ειδική κατασκευή",
        "clear": "Καθαρισμός",
        "apply": "Εφαρμογή",
        "matchAll": "Ισοδύναμο με όλα",
        "matchAny": "Ισοδύναμο με τουλάχιστον ένα",
        "addRule": "Προσθήκη κανόνα",
        "removeRule": "Αφαίρεση κανόνα",
        "accept": "ΝΑΙ",
        "reject": "ΟΧΙ",
        "choose": "Επιλογή",
        "upload": "Ανεβάζω",
        "cancel": "Ακύρωση",
        "dayNames": [
            "Κυριακή",
            "Δευτέρα",
            "Τρίτη",
            "Τετάρτη",
            "Πέμπτη",
            "Παρασκευή",
            "Σάββατο"
        ],
        "dayNamesShort": ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"],
        "dayNamesMin": ['Κ', 'Δ', 'Τρ', 'Τε', 'Πε', 'Πα', 'Σ'],
        "monthNames": [
            "Ιανουάριος",
            "Φεβρουάριος",
            "Μάρτιος",
            "Απρίλιος",
            "Μάιος",
            "Ιούνιος",
            "Ιούλιος",
            "Αύγουστος",
            "Σεπτέμβριος",
            "Οκτώβριος",
            "Νοέμβριος",
            "Δεκέμβριος"
        ],
        "monthNamesShort": [
            "Ιαν",
            "Φεβ",
            "Μαρ",
            "Απρ",
            "Μαϊ",
            "Ιουν",
            "Ιουλ",
            "Αυγ",
            "Σεπ",
            "Οκτ",
            "Νοε",
            "Δεκ"
        ],
        "today": "Σήμερα",
        "weekHeader": "Εβδ",
        "firstDayOfWeek": 1,
        "showMonthAfterYear": false,
        "dateFormat": "dd/mm/yyyy",
        "weak": "Αδύναμος",
        "medium": "Μεσαίος",
        "strong": "Δυνατός",
        "passwordPrompt": "Εισαγωγή κωδικού",
        "emptyFilterMessage": "Δεν υπάρχουν διαθέσιμες επιλογές",
        "emptyMessage": "Δεν βρέθηκαν αποτελέσματα",
        "aria": {
            "close": 'Κλείσιμο',
            "previous": 'Προηγούμενο',
            "next": 'Επόμενο',
            "trueLabel": "Αληθής",
            "falseLabel": "Ψευδής",
            "nullLabel": "Κενή ετικέτα",
            "pageLabel": "Σελίδα {page}",
            "firstPageLabel": "Πρώτη Σελίδα",
            "lastPageLabel": "Τελευταία Σελίδα",
            "nextPageLabel": "Επόμενη Σελίδα",
            "previousPageLabel": "Προηγούμενη Σελίδα"
        }
    };

// custom PF labels
    PrimeFaces.locales['el'] = $.extend(true, {}, PrimeFaces.locales['el'], {
        isRTL: false,
        yearSuffix: '',
        timeOnlyTitle: 'Επιλογή Ώρας',
        timeText: 'Χρόνος',
        hourText: 'Ώρα',
        minuteText: 'Λεπτό',
        secondText: 'Δευτερόλεπτο',
        millisecondText: 'Μιλιδευτερόλεπτο',
        today: 'Σημερινή Ημερομηνία',
        month: 'Μήνας',
        week: 'Εβδομάδα',
        day: 'Ημέρα',
        allDayText: 'Όλη Μέρα',
        aria: {
            'colorpicker.OPEN': 'Άνοιγμα επιλογέα χρώματος',
            'colorpicker.CLOSE': 'Κλείσιμο επιλογέα χρώματος',
            'colorpicker.CLEAR': 'Διαγραφή του επιλογέα χρώματος',
            'colorpicker.MARKER': 'Κορεσμός: {s}. Φωτεινότητα: {v}.',
            'colorpicker.HUESLIDER': 'Ρύθμιση απόχρωσης',
            'colorpicker.ALPHASLIDER': 'Ρύθμιση διαφάνειας',
            'colorpicker.INPUT': 'Πεδίο τιμής χρώματος',
            'colorpicker.FORMAT': 'Μορφή χρώματος',
            'colorpicker.SWATCH': 'Δείγμα χρωμάτων',
            'colorpicker.INSTRUCTION': 'Επιλογέας κορεσμού και φωτεινότητας. Χρησιμοποιήστε τα πλήκτρα πάνω, κάτω, αριστερά και δεξιά για να επιλέξετε.',
            'spinner.INCREASE': 'Αύξηση της αξίας',
            'spinner.DECREASE': 'Μείωση της αξίας',
            'switch.ON': 'Στο',
            'switch.OFF': 'Από',
            'messages.ERROR': 'Σφάλμα',
            'messages.FATAL': 'Καίριο',
            'messages.INFO': 'Πληροφορία',
            'messages.WARN': 'Προείδοποίηση'
        },
        messages: {
            'javax.faces.component.UIInput.CONVERSION': '{0}: Παρουσιάστηκε σφάλμα μετατροπής.',
            'javax.faces.component.UIInput.REQUIRED': '{0}: Σφάλμα επικύρωσης. Η τιμή είναι απαραίτητη.',
            'javax.faces.component.UIInput.UPDATE': '{0}: Παρουσιάστηκε ένα σφάλμα κατά την επεξεργασία των πληροφοριών που υποβάλατε. ',
            'javax.faces.component.UISelectOne.INVALID': '{0}: Σφάλμα επικύρωσης. Η τιμή δεν είναι έγκυρη',
            'javax.faces.component.UISelectMany.INVALID': '{0}: Σφάλμα επικύρωσης. Η τιμή δεν είναι έγκυρη',
            'javax.faces.converter.BigDecimalConverter.DECIMAL': '{2}: \'\'{0}\'\' πρέπει να είναι ένας προσημασμένος δεκαδικός αριθμός.',
            'javax.faces.converter.BigDecimalConverter.DECIMAL_detail': '{2}: \'\'{0}\'\' πρέπει να είναι ένας προσημασμένος δεκαδικός αριθμός αποτελούμενος απο μηδέν ή περισσότερα ψηφία, τα οποία μπορεί να ακολουθούνται από ένα δεκαδικό σημείο και μέρος.  Παράδειγμα: {1} ',
            'javax.faces.converter.BigIntegerConverter.BIGINTEGER': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός αποτελούμενος απο ένα ή περισσότερα ψηφία.',
            'javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός αποτελούμενος απο ένα ή περισσότερα ψηφία. Παράδειγμα: {1} ',
            'javax.faces.converter.BooleanConverter.BOOLEAN': '{1}: \'\'{0}\'\' πρέπει να είναι \'true\' ή \'false\'.',
            'javax.faces.converter.BooleanConverter.BOOLEAN_detail': '{1}: \'\'{0}\'\' πρέπει να είναι \'true\' ή \'false\'.  Οποιαδήποτε τιμή εκτός από \'true\' θα εκτιμηθεί σε \'false\'.',
            'javax.faces.converter.ByteConverter.BYTE': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός μεταξύ -128 και 127.',
            'javax.faces.converter.ByteConverter.BYTE_detail': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός μεταξύ -128 και 127.  Παράδειγμα: {1} ',
            'javax.faces.converter.CharacterConverter.CHARACTER': '{1}: \'\'{0}\'\' πρέπει να είναι ένας έγκυρος χαρακτήρας.',
            'javax.faces.converter.CharacterConverter.CHARACTER_detail': '{1}: \'\'{0}\'\' πρέπει να είναι ένας έγκυρος ASCII χαρακτήρας.',
            'javax.faces.converter.DateTimeConverter.DATE': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν ημερομηνία.',
            'javax.faces.converter.DateTimeConverter.DATE_detail': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν ημερομηνία. Παράδειγμα: {1} ',
            'javax.faces.converter.DateTimeConverter.TIME': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν ώρα.',
            'javax.faces.converter.DateTimeConverter.TIME_detail': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν ώρα. Παράδειγμα: {1} ',
            'javax.faces.converter.DateTimeConverter.DATETIME': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν ημερομηνία και ώρα.',
            'javax.faces.converter.DateTimeConverter.DATETIME_detail': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν ημερομηνία και ώρα. Παράδειγμα: {1} ',
            'javax.faces.converter.DateTimeConverter.PATTERN_TYPE': '{1}: Πρέπει να έχει οριστεί το χαρακτηριστικό \'pattern\' ή \'type\' για να μετατραπεί η τιμή \'\'{0}\'\'.',
            'javax.faces.converter.DoubleConverter.DOUBLE': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός αποτελούμενος από ένα ή περισσότερα ψηφία.',
            'javax.faces.converter.DoubleConverter.DOUBLE_detail': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός μεταξύ 4.9E-324 και 1.7976931348623157E308  Παράδειγμα: {1} ',
            'javax.faces.converter.EnumConverter.ENUM': '{2}: \'\'{0}\'\' πρέπει να είναι μετατρέψιμο σε μία enum',
            'javax.faces.converter.EnumConverter.ENUM_detail': '{2}: \'\'{0}\'\' πρέπει να είναι μετατρέψιμο σε μία enum από την enum που περιλαμβάνει την σταθερά \'\'{1}\'\'.',
            'javax.faces.converter.EnumConverter.ENUM_NO_CLASS': '{1}: \'\'{0}\'\' πρέπει να είναι μετατρέψιμο σε μία enum από την enum, αλλα καμία enum κλάση δεν παρέχεται.',
            'javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail': '{1}: \'\'{0}\'\' πρέπει να είναι μετατρέψιμο σε μία enum από την enum, αλλα καμία enum κλάση δεν παρέχεται.',
            'javax.faces.converter.FloatConverter.FLOAT': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός αποτελούμενος από ένα ή περισσότερα ψηφία.',
            'javax.faces.converter.FloatConverter.FLOAT_detail': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός μεταξύ 1.4E-45 και 3.4028235E38  Παράδειγμα: {1}',
            'javax.faces.converter.IntegerConverter.INTEGER': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός αποτελούμενος από ένα ή περισσότερα ψηφία.',
            'javax.faces.converter.IntegerConverter.INTEGER_detail': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός μεταξύ -2147483648 και 2147483647 Παράδειγμα: {1}',
            'javax.faces.converter.LongConverter.LONG': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός αποτελούμενος από ένα ή περισσότερα ψηφία.',
            'javax.faces.converter.LongConverter.LONG_detail': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός μεταξύ -9223372036854775808 και 9223372036854775807 Παράδειγμα: {1}',
            'javax.faces.converter.NumberConverter.CURRENCY': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν τιμή νομίσματος.',
            'javax.faces.converter.NumberConverter.CURRENCY_detail': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν τιμή νομίσματος. Παράδειγμα: {1}',
            'javax.faces.converter.NumberConverter.PERCENT': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν ποσοστό.',
            'javax.faces.converter.NumberConverter.PERCENT_detail': '{2}: \'\'{0}\'\' δεν μπορεί να ερμηνευτεί σαν ποσοστό. Παράδειγμα: {1}',
            'javax.faces.converter.NumberConverter.NUMBER': '{2}: \'\'{0}\'\' δεν είναι αριθμός.',
            'javax.faces.converter.NumberConverter.NUMBER_detail': '{2}: \'\'{0}\'\' δεν είναι αριθμός. Παράδειγμα: {1}',
            'javax.faces.converter.NumberConverter.PATTERN': '{2}: \'\'{0}\'\' δεν είναι ένα αριθμητικό μοτίβο.',
            'javax.faces.converter.NumberConverter.PATTERN_detail': '{2}: \'\'{0}\'\' δεν είναι ένα αριθμητικό μοτίβο. Παράδειγμα: {1}',
            'javax.faces.converter.ShortConverter.SHORT': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός αποτελούμενος από ένα ή περισσότερα ψηφία.',
            'javax.faces.converter.ShortConverter.SHORT_detail': '{2}: \'\'{0}\'\' πρέπει να είναι ένας αριθμός μεταξύ -32768 και 32767 Παράδειγμα: {1}',
            'javax.faces.converter.STRING': '{1}: Αδυναμία μετατροπής του \'\'{0}\'\' σε αλφαριθμητικό.',
            'javax.faces.validator.DoubleRangeValidator.MAXIMUM': '{1}: Σφάλμα επικύρωσης: Η τιμή είναι μεγαλύτερη από το επιτρεπτό μέγιστο "{0}"',
            'javax.faces.validator.DoubleRangeValidator.MINIMUM': '{1}: Σφάλμα επικύρωσης: Η τιμή είναι μικρότερη από το επιτρεπτό ελάχιστο \'\'{0}\'\'',
            'javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE': '{2}: Σφάλμα επικύρωσης: Το καθορισμένο χαρακτηριστικό δεν είναι μεταξύ των αναμενόμενων τιμών {0} και {1}.',
            'javax.faces.validator.DoubleRangeValidator.TYPE': '{0}: Σφάλμα επικύρωσης: Η τιμή δεν είναι σωστού τύπου',
            'javax.faces.validator.LengthValidator.MAXIMUM': '{1}: Σφάλμα επικύρωσης: Το μέγεθος είναι μεγαλύτερο από το επιτρεπτό μέγιστο \'\'{0}\'\'',
            'javax.faces.validator.LengthValidator.MINIMUM': '{1}: Σφάλμα επικύρωσης: Το μέγεθος είναι μικρότερο από το επιτρεπτό ελάχιστο \'\'{0}\'\'',
            'javax.faces.validator.LongRangeValidator.MAXIMUM': '{1}: Σφάλμα επικύρωσης: Η τιμή είναι μεγαλύτερη από το επιτρεπτό μέγιστο \'\'{0}\'\'',
            'javax.faces.validator.LongRangeValidator.MINIMUM': '{1}: Σφάλμα επικύρωσης: Η τιμή είναι μικρότερη από το επιτρεπτό ελάχιστο \'\'{0}\'\'',
            'javax.faces.validator.LongRangeValidator.NOT_IN_RANGE': '{2}: Σφάλμα επικύρωσης: Το καθορισμένο χαρακτηριστικό δεν είναι μεταξύ των αναμενόμενων τιμών {0} και {1}.',
            'javax.faces.validator.LongRangeValidator.TYPE': '{0}: Σφάλμα επικύρωσης: Η τιμή δεν είναι σωστού τύπου.',
            'javax.faces.validator.NOT_IN_RANGE': 'Σφάλμα επικύρωσης: Το καθορισμένο χαρακτηριστικό δεν είναι μεταξύ των αναμενόμενων τιμών {0} και {1}.',
            'javax.faces.validator.RegexValidator.PATTERN_NOT_SET': 'Πρέπει να καθορίστεί ένα μοτίβο Κανονικών Εκφράσεων.',
            'javax.faces.validator.RegexValidator.PATTERN_NOT_SET_detail': 'Πρέπει να καθοριστεί ένα μη κενό μοτίβο Κανονικών Εκφράσεων.',
            'javax.faces.validator.RegexValidator.NOT_MATCHED': 'Το μοτίβο Κανονικών Εκφράσεων δεν ταιριάζει',
            'javax.faces.validator.RegexValidator.NOT_MATCHED_detail': 'Το μοτίβο Κανονικών Εκφράσεων \'\'{0}\'\' δεν ταιριάζει',
            'javax.faces.validator.RegexValidator.MATCH_EXCEPTION': 'Σφάλμα στην Κανονική Έκφραση.',
            'javax.faces.validator.RegexValidator.MATCH_EXCEPTION_detail': 'Σφάλμα στην Κανονική Έκφραση, \'\'{0}\'\'',
            'javax.faces.validator.BeanValidator.MESSAGE': '{0}',
            'javax.validation.constraints.AssertFalse.message': 'πρέπει να είναι false',
            'javax.validation.constraints.AssertTrue.message': 'πρέπει να είναι true',
            'javax.validation.constraints.DecimalMax.message': 'πρέπει να είναι μικρότερο ${inclusive == true ? \'ή ίσο\' : \'\'} από {value}',
            'javax.validation.constraints.DecimalMin.message': 'πρέπει να είναι μεγαλύτερο ${inclusive == true ? \'ή ίσο\' : \'\'} από {value}',
            'javax.validation.constraints.Digits.message': 'αριθμιτική τιμή εκτός ορίων (<{integer} ψηφία>.<{fraction} ψηφία> η αναμενόμενη μορφή)',
            'javax.validation.constraints.Future.message': 'πρέπει να είναι στο μέλλον',
            'javax.validation.constraints.Max.message': 'πρέπει να είναι μικρότερο ή ίσο από {value}',
            'javax.validation.constraints.Min.message': 'πρέπει να είναι μεγαλύτερο ή ίσο από {value}',
            'javax.validation.constraints.NotNull.message': 'δεν μπορεί να είναι null',
            'javax.validation.constraints.Null.message': 'πρέπει να είναι null',
            'javax.validation.constraints.Past.message': 'πρέπει να είναι στο παρελθόν',
            'javax.validation.constraints.Pattern.message': 'πρέπει να ταιριάζει "{regexp}"',
            'javax.validation.constraints.Size.message': 'μέγεθος πρέπει να είναι μεταξύ {min} και {max}',
            'org.hibernate.validator.constraints.CreditCardNumber.message': 'μη έγκυρος αριθμός πιστωτικής κάρτας',
            'org.hibernate.validator.constraints.Currency.message': 'μη έγκυρο νόμισμα (πρέπει να είναι ένα από {value})',
            'org.hibernate.validator.constraints.EAN.message': 'μη έγκυρο {type} barcode',
            'org.hibernate.validator.constraints.Email.message': 'η διεύθυνση email δεν έχει σωστή μορφή',
            'org.hibernate.validator.constraints.Length.message': 'μέγεθος πρέπει να είναι μεταξύ {min} και {max}',
            'org.hibernate.validator.constraints.LuhnCheck.message': 'Το ψηφίο ελέγχου ${validatedValue} δεν είναι έγκυρο, το Luhn Modulo 10 άθροισμα ελέγχου απέτυχε',
            'org.hibernate.validator.constraints.Mod10Check.message': 'Το ψηφίο ελέγχου ${validatedValue} δεν είναι έγκυρο, το Modulo 10 άθροισμα ελέγχου απέτυχε',
            'org.hibernate.validator.constraints.Mod11Check.message': 'Το ψηφίο ελέγχου ${validatedValue} δεν είναι έγκυρο, το Modulo 11 άθροισμα ελέγχου απέτυχε',
            'org.hibernate.validator.constraints.ModCheck.message': 'Το ψηφίο ελέγχου ${validatedValue} δεν είναι έγκυρο, το ${modType} άθροισμα ελέγχου απέτυχε',
            'org.hibernate.validator.constraints.NotBlank.message': 'δεν μπορεί να είναι κενό',
            'org.hibernate.validator.constraints.NotEmpty.message': 'δεν μπορεί να είναι κενό',
            'org.hibernate.validator.constraints.ParametersScriptAssert.message': 'η script έκφραση "{script}" δεν εκτιμήθηκε σε true',
            'org.hibernate.validator.constraints.Range.message': 'πρέπει να είναι μεταξύ {min} και {max}',
            'org.hibernate.validator.constraints.SafeHtml.message': 'μπορεί να περιέχει μη ασφαλές html περιεχόμενο',
            'org.hibernate.validator.constraints.ScriptAssert.message': 'η script έκφραση "{script}" δεν εκτιμήθηκε σε true',
            'org.hibernate.validator.constraints.URL.message': 'πρέπει να είναι ένα έγκυρο URL',
            'org.hibernate.validator.constraints.br.CNPJ.message': 'Μη έγκυρος εταιρικός αριθμός μητρώου φορολογουμένου Βραζιλίας (CNPJ)',
            'org.hibernate.validator.constraints.br.CPF.message': 'Μη έγκυρος προσωπικός αριθμός μητρώου φορολογουμένου Βραζιλίας (CPF)',
            'org.hibernate.validator.constraints.br.TituloEleitoral.message': 'Μη έγκυρος Αριθμός Ταυτοποίησης Ψηφοφόρου Βραζιλίας',
            'org.hibernate.validator.constraints.pl.REGON.message': 'Μη έγκυρος Αριθμός Ταυτοποίησης Φορολογουμένου Πολωνίας (REGON)',
            'org.hibernate.validator.constraints.pl.NIP.message': 'Μη έγκυρος Αριθμός Ταυτοποίησης ΦΠΑ (NIP)',
            'org.hibernate.validator.constraints.pl.PESEL.message': 'Μη έγκυρος Εθνικός Αριθμός Ταυτοποίησης Πολωνίας (PESEL)'
        }
    });
    PrimeFaces.locales['el_GR'] = PrimeFaces.locales['el'];
}